package com.edu.zut.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.edu.zut.domain.LoginInfo;
import com.edu.zut.domain.UserVo;
import com.edu.zut.entity.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.time.LocalDateTime;

/**
 * <p>
 * 用户表 Mapper 接口
 * </p>
 *
 * @author 许文科
 * @since 2023-01-12
 */
public interface UserMapper extends BaseMapper<User> {

    //根据user_name从 sys_user表中查出user_id
    Long getUserIdByUserName(String username);

    //根据用户名获取登录者信息
    LoginInfo getLoginUserInfo(String username);

    //获取登录者信息
    UserVo LoginInfo(String username);

    //根据userId,修改密码
    void modifyPassword(@Param("userId") Long userId, @Param("newPassword") String newPassword);

    //修改头像
    int updateAvator(@Param("username") String username, @Param("url") String url);

    int getTotalNumByUserType(String s);

    //更新用户信息
    int updateInfoByUserName(@Param("userName") String userName,
                             @Param("userNumber") String userNumber,
                             @Param("phoneNumber") String phoneNumber,
                             @Param("sex") String sex,
                             @Param("updateTime") LocalDateTime updateTime);
}
